


package management;


import entities.Enemy;
import entities.Panel;
import entities.PlayableChar;
import entities.TransitionObject;
import entities.Walls;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Logger;
import org.newdawn.slick.SlickException;


/**
 * EntityFactory
 * @author Fede
 * @data 07-may-2011
 * @versió v1.0
 * Copyright Federico Ferran <tresefes@hotmail.com>
 * Descripció:
 *
 *
 */



public class ZoneBuilder {
     ObjectDispatcher od = new ObjectDispatcher();
     int zone;
     int[] zones=null;




     public void buildZone(int zone) throws SQLException{
       this.zone=zone;

//       if(zone==1){
//         zones = new int[]{1};
//       }
        try {

             od.crearBlockMap(zone);
             od.crearHashMapEnemies(5,"EnemyA",0, null, 0, null);


       } catch (SlickException ex) {
            Logger.getLogger(ZoneBuilder.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
       //cargar hashmapenemigos zona
    //el zone builder lo unico que hace es (re)cargar los hashmaps del resourcemanager

     }

//     public void GestionarZona(ArrayList<PlayableChar> players, ArrayList<Enemy> enemis, ArrayList<TransitionObject> goes, ArrayList<Panel> panels, ArrayList<Walls> walls){
//        players = new ArrayList<PlayableChar>();
//            enemis = new ArrayList<Enemy>();
//            goes = new ArrayList<TransitionObject>();
//            panels = new ArrayList<Panel>();
//            walls = new ArrayList<Walls>();
//            if (ObjectDispatcher.getPnjs().size() > 0) {
//                players.add(ObjectDispatcher.getPnjs().get("Soldier"));
//                players.add(ObjectDispatcher.getPnjs().get("BountyHunter"));
//                players.add(ObjectDispatcher.getPnjs().get("Rogue"));
//                players.add(ObjectDispatcher.getPnjs().get("Wolf"));
//            }
//            ObjectDispatcher ob = new ObjectDispatcher();
//            if (ObjectDispatcher.getZone() == 1) {
//                try {
//                    ob.crearHashMapEnemies(5, "EnemyA", 0, null, 0, null);
//                } catch (SQLException e) {
//                    System.out.println(e);
//                }
//                enemis.add(ObjectDispatcher.getEnemies().get("EnemyA1"));
//                enemis.get(0).setPosX(600);
//                enemis.get(0).setPosY(500);
//                enemis.add(ObjectDispatcher.getEnemies().get("EnemyA2"));
//                enemis.get(1).setPosX(800);
//                enemis.get(1).setPosY(500);
//                enemis.add(ObjectDispatcher.getEnemies().get("EnemyA3"));
//                enemis.get(2).setPosX(400);
//                enemis.get(2).setPosY(40);
//                enemis.add(ObjectDispatcher.getEnemies().get("EnemyA4"));
//                enemis.get(3).setPosX(600);
//                enemis.get(3).setPosY(40);
//                enemis.add(ObjectDispatcher.getEnemies().get("EnemyA5"));
//                enemis.get(4).setPosX(800);
//                enemis.get(4).setPosY(20);
//                goes = new ArrayList<TransitionObject>();
//                goes.add(new TransitionObject());
//                panels.add(new Panel());
//                walls.add(new Walls());
//                panels.get(0).setConnected(walls.get(0));
//            } else if (ObjectDispatcher.getZone() == 2) {
//
//                enemis.add(ObjectDispatcher.getEnemies().get("EnemyA1"));
//                enemis.get(0).setPosX(200);
//                enemis.get(0).setPosY(20);
//                enemis.add(ObjectDispatcher.getEnemies().get("EnemyA2"));
//                enemis.get(1).setPosX(300);
//                enemis.get(1).setPosY(20);
//                enemis.add(ObjectDispatcher.getEnemies().get("EnemyA3"));
//                enemis.get(2).setPosX(400);
//                enemis.get(2).setPosY(20);
//            }
//     }









    //cargar recursos zona(imgs y sonidos)











//public void crearHashMapPnjs() throws SQLException{
//   int i = 1;
//  // for (i=1;i<5;i++){
//       ResourceManager.setPnj(i, jugador(i));
//  // }
//}
//
//
//    public PlayableChar jugador(int idPnj) throws SQLException{
//       DBAccess db =new DBAccess();
//       PlayableChar pnj = new PlayableChar(db.heroIniValues(idPnj), db.heroAnimations(idPnj));
//       return pnj;
//    }






//
//public void actualitzarHashMapLevelResources(ArrayList<String> LevelMaps,int level){
//    DBAccess db = new DBAccess();
//    db.getMaps(level);
//    //podemos meter estos mapas en un array de mapas del level
//
//
//    for (String res : LevelMaps){
//
//
//    }
//
//}
//


}